Amazon EC2 Auto Scaling 스케줄 기반으로 자동 스케일링 조정해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon EC2 Auto Scaling 스케줄 기반으로 자동 스케일링을 조정해 보는 방법을 정리해 봤습니다.
스케줄 기반 스케일링
스케줄 기반 스케일링은 2016년도에 발표된 AWS Auto Scaling의 기능입니다.
이름 그대로 스케줄을 정해놓고 스케일링을 조정할 수 있는 기능입니다.
CPU 사용률에 따른 자동 스케일링 혹은 수동 스케일링에 대해서는 아래 블로그를 참고해 주세요.
해보자!
먼저 생성한 Auto Scaling 그룹으로 들어와「Automatic scaling」을 클릭합니다.
「Automatic scaling」에서 가장 아래로 내려보면 예약된 작업을 확인할 수 있으며「예약한 작업 생성」을 클릭합니다.
「예약한 작업 생성」에서 스케일링을 위한 상세한 설정이 가능합니다.
- 먼저 「예약한 작업」의 이름을 설정합니다.
- 그런 다음 「예약한 작업」을 설정합니다. 먼저 생성되는 인스턴스 수를 설정합니다.
- 원하는 용량 ; Auto Scaling 그룹을 만들 때 초기 EC2 인스턴스 수입니다.
- 최소 ; 최소 EC2 인스턴스 수입니다. 수동 또는 자동으로 최소 크기 제한보다 EC2 인스턴스를 작게 만들 수 없습니다.
- 최대 ; 최대 EC2 인스턴스 수입니다. 수동 또는 자동으로 최대 크기 제한보다 EC2 인스턴스를 늘릴 수 없습니다.
- 반복에서는 한 번, 매주, 매일, cron 단위 등으로 설정할 수 있습니다.
- 시간대는「서울」로 설정할 수 있습니다.
- 특정 시작 시간에 Auto Scaling의 스케줄 시작 및 종료를 설정할 수 있습니다
보다 상세한 설명은 아래 공식 문서를 참고해 주세요.
종료 시간 설정의 경우 반복을「한 번」으로 설정하면 표시되지 않습니다.
매일, 매주 등 한 번 이외의 설정을 지정하면 종료 시간 설정이 표시되며, 종료 시간대를 설정할 수 있습니다.
설정이 끝나고 예약된 작업을 생성하면 이미지와 같이 예약된 작업의 이름과 시작 시간, 종료 시간 등을 확인할 수 있습니다.
지정한 시간이 되면, 스케일링 작업이 시작됩니다.
스케줄의 반복은 한 번을 선택했으므로, 한 번 실행이 된 스케줄은 예약된 작업에서 자동으로 삭제됩니다.
여기서 한 가지 주의할 점은 기존에 생성한 Auto Scaling 그룹 크기가 다음과 같이 설정되어 있고, 스케줄을 설정할 때도 똑같은 용량을 선택한다면 EC2 인스턴스는 생성되지 않습니다.
여기서 EC2 인스턴스를 생성하고 싶다면 예약된 작업에서 그룹 크기를 조정할 필요가 있습니다.
예를 들어 예약된 작업에서 원하는 욜량3, 원하는 최소 용량3, 원하는 최대 용량을 4로 설정했다면 EC2 인스턴스 한 대가 추가로 생성되며, Auto Scaling 그룹 크기를 재차 확인해 보면, 용량이 변경된 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.